1. Field of the Invention
The present invention relates to an electromagnetic wave analyzer which analyzes the behavior of electromagnetic waves by using computer simulation techniques, and also to a computer-readable medium for storing electromagnetic wave analyzer programs. More particularly, the present invention relates to an electromagnetic wave analyzer which uses finite-difference time-domain (FD-TD) algorithms to numerically solve electromagnetic wave problems, and also to a computer readable medium for storing computer programs designed for that purpose.
2. Description of the Related Art
Today""s computational electromagnetics exploits the finite-difference time-domain (FD-TD) method as a technique to analyze the transitional behavior of electromagnetic waves by using a computer for numerical calculation. The FD-TD algorithm, which solves the Maxwell""s equations in time and spatial domains with difference methods, is actually used in many different situations because of its wide scope of applications. Conventionally, FD-TD solutions are numerically obtained through explicit methods as described below. For simplicity, consider the following one-dimensional parabolic partial differential equation (1).                                           ∂            f                                ∂            t                          =                                            ∂              2                        ⁢            f                                ∂                          x              2                                                          (        1        )            xe2x80x83ƒ(t,x)=ƒ(nxcex94t,ixcex94x)=ƒinxe2x80x83xe2x80x83(2)
where n is the number of time steps that have elapsed from the beginning of computation, xcex94t is the temporal discretization interval (i.e., time step size), i is the grid coordinate number representing a specific point in the one-dimensional space, and xcex94x is the spatial discretization interval (i.e., space increment or cell size). The equation (2) indicates that f is a function of time t and position x, where t and x are discretized as nxcex94t and ixcex94x, respectively. To yield a solution by using an explicit method, the above differential equation is approximated to the following forward-difference expression with respect to its time derivative.                                                         f              i                              n                +                1                                      -                          f              i              n                                            Δ            ⁢                          xe2x80x83                        ⁢            t                          =                                            f                              i                +                1                            n                        -                          2              ⁢                              f                i                n                                      +                          f                              i                -                1                            n                                            Δ            ⁢                          xe2x80x83                        ⁢                          x              2                                                          (        3        )            
Let r=xcex94t/xcex94x2, then this equation (3) can be rewritten as follows.
ƒin+1=rƒi+1n+(1-2r)ƒin+rƒixe2x88x921nxe2x80x83xe2x80x83(4)
Note that, when a solution at time nxcex94t is given, this equation (4) immediately gives the next solution at time (n+1)xcex94t. Numerical solvers of this kind are referred to as explicit methods.
The explicit difference method of the equation (4), however, must satisfy the following condition for stability to make sure that the solution will converge toward a final solution.                     r        =                                            Δ              ⁢                              xe2x80x83                            ⁢              t                                      Δ              ⁢                              xe2x80x83                            ⁢                              x                2                                              ≤                      1            2                                              (        5        )            
Furthermore, to avoid numerical instability in FD-TD computation, the following condition should be satisfied, which is known as the Courant, Friedrich, and Levy (CFL) condition, or Courant condition.                               Δ          ⁢                      xe2x80x83                    ⁢          t                ≤                  1                      v            ⁢                                                                                (                                          1                                              Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                  x                          min                                                                                      )                                    2                                +                                                      (                                          1                                              Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                  y                          min                                                                                      )                                    2                                +                                                      (                                          1                                              Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                  z                          min                                                                                      )                                    2                                                                                        (        6        )            
Detailed discussion on the CFL condition in FD-TD is found in the literature, A. Taflove, xe2x80x9cComputational Electrodynamics,xe2x80x9d MA, Artech House Inc., 1995. The equation (6) is known as the Courant condition for three-dimensional wave analysis, where v is the propagation rate of electromagnetic waves, and xcex94xmin, xcex94ymin, and xcex94zmin are minimum values of spatial discretization intervals in the x, y, and z directions, respectively.
Because of the constraints discussed above, the maximum time step size in explicit methods is dependent on the minimum cell size. That is, the time step size must be reduced when analyzing an object having fine geometrical features, resulting in an increased number of simulation steps to be iterated. This would cause a serious problem of long simulation time, particularly when calculating a time response for an extended period.
Partial differential equations can be solved not only with explicit methods, but also with implicit methods. For example, a backward difference approximation to the one-dimensional parabolic partial differential equation (1) is as follows.                                                         f              i                              n                +                1                                      -                          f              i              n                                            Δ            ⁢                          xe2x80x83                        ⁢            t                          =                                            f                              i                +                1                                            n                +                1                                      -                          2              ⁢                              f                i                                  n                  +                  1                                                      +                          f                              i                -                1                                            n                +                1                                                          Δ            ⁢                          xe2x80x83                        ⁢                          x              2                                                          (        7        )            
Similar to the case of explicit methods mentioned above, this difference equation (7) can be rearranged as follows, by letting r=xcex94t/xcex94x2.
xe2x88x92rƒi+1n+1+(1+2r)ƒin+1xe2x88x92rƒixe2x88x921n+1xc3x97ƒinxe2x80x83xe2x80x83(8)
This equation (8) is an implicit expression of the problem to be solved. Unlike the explicit methods, the numerical stability is guaranteed when solving this implicit expression. In the implicit method, however, it is necessary to solve the following set of simultaneous equations in order to obtain a series of fin+1.                                           (                                                                                b                    1                                                                                        c                    1                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                                                    a                    2                                                                                        b                    2                                                                                        c                    2                                                                                        xe2x80x83                                                                    0                                                                      xe2x80x83                                                                                                                    xe2x80x83                                                                                        xe2x80x83                                                                    ⋰                                                                      xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                                                    xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                    ⋰                                                                      xe2x80x83                                                                                        xe2x80x83                                                                                                                    xe2x80x83                                                                    0                                                                      xe2x80x83                                                                                        a                                                                  i                        ⁢                                                  xe2x80x83                                                ⁢                        max                                            -                      1                                                                                                            b                                                                  i                        ⁢                                                  xe2x80x83                                                ⁢                        max                                            -                      1                                                                                                            c                                                                  i                        ⁢                                                  xe2x80x83                                                ⁢                        max                                            -                      1                                                                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                        xe2x80x83                                                                                        a                                          i                      ⁢                                              xe2x80x83                                            ⁢                      max                                                                                                            b                                          i                      ⁢                                              xe2x80x83                                            ⁢                      max                                                                                            )                    ⁢                      (                                                                                f                    1                                          n                      +                      1                                                                                                                                        f                    2                                          n                      +                      1                                                                                                                    ⋮                                                                              ⋮                                                                                                  f                                                                  i                        ⁢                                                  xe2x80x83                                                ⁢                        max                                            -                      1                                                              n                      +                      1                                                                                                                                        f                                          i                      ⁢                                              xe2x80x83                                            ⁢                      max                                                              n                      +                      1                                                                                            )                          =                  (                                                                      f                  1                  n                                                                                                      f                  2                  n                                                                                    ⋮                                                                    ⋮                                                                                      f                                                            i                      ⁢                                              xe2x80x83                                            ⁢                      max                                        -                    1                                    n                                                                                                      f                                      i                    ⁢                                          xe2x80x83                                        ⁢                    max                                    n                                                              )                                    (        9        )            
where ai is the invariable part (xe2x88x92r) of the third term of the left-hand side of equation (8) when i=1, 2, . . . imax, bi is the invariable part (1+2r) of the second term of the left-hand side of equation (8) when i=1, 2, . . . imax, and ci is the invariable part (xe2x88x92r) of the first term of the left-hand side of equation (8) when i=1, 2, . . . imax.
To analyze the transient behavior of electromagnetic waves, it is required to solve a partial differential equation in the space of at least two dimensions. Special care must be taken when solving this kind of problems by use of implicit methods. Consider here that the following two-dimensional partial differential equation is given.                                           ∂            f                                ∂            t                          =                                                            ∂                2                            ⁢              f                                      ∂                              x                2                                              +                                                    ∂                2                            ⁢              f                                      ∂                              y                2                                                                        (        10        )            
To solve this equation (10) with, for example, the Crank-Nicolson method, its time derivative term is approximated as follows.                                                                                                               f                                          i                      .                      j                                                              n                      +                      1                                                        -                                      f                                          i                      .                      j                                        n                                                                    Δ                  ⁢                                      xe2x80x83                                    ⁢                  t                                            =                              xe2x80x83                            ⁢                                                                    1                    2                                    ⁢                                      {                                                                                                                        f                                                          i                              +                                                              1.                                ⁢                                j                                                                                      n                                                    -                                                      2                            ⁢                                                          f                                                              i                                .                                j                                                            n                                                                                +                                                      f                                                          i                              -                                                              1.                                ⁢                                j                                                                                      n                                                                                                    Δ                          ⁢                                                      xe2x80x83                                                    ⁢                                                      x                            2                                                                                              +                                                                                                    f                                                                                          i                                .                                j                                                            +                              1                                                        n                                                    -                                                      2                            ⁢                                                          f                                                              i                                .                                j                                                            n                                                                                +                                                      f                                                                                          i                                .                                j                                                            -                              1                                                        n                                                                                                    Δ                          ⁢                                                      xe2x80x83                                                    ⁢                                                      y                            2                                                                                                                }                                                  +                                                                                                        xe2x80x83                            ⁢                                                1                  2                                ⁢                                  {                                                                                                              f                                                      i                            +                                                          1.                              ⁢                              j                                                                                                            n                            +                            1                                                                          -                                                  2                          ⁢                                                      f                                                          i                              .                              j                                                                                      n                              +                              1                                                                                                      +                                                  f                                                      i                            -                                                          1.                              ⁢                              j                                                                                                            n                            +                            1                                                                                                                      Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                  x                          2                                                                                      +                                                                                            f                                                                                    i                              .                              j                                                        +                            1                                                                                n                            +                            1                                                                          -                                                  2                          ⁢                                                      f                                                          i                              .                              j                                                                                      n                              +                              1                                                                                                      +                                                  f                                                                                    i                              .                              j                                                        -                            1                                                                                n                            +                            1                                                                                                                      Δ                        ⁢                                                  xe2x80x83                                                ⁢                                                  y                          2                                                                                                      }                                                                                        (        11        )            
The solution of this equation (11) can be reached by solving a set of simultaneous linear equations having as many unknowns as (Nxxe2x88x921)xc3x97(Nyxe2x88x921), where Nx and Ny are the numbers of meshes in the x-axis and y-axis directions, respectively. This computation makes extreme demands on oth computer memory and processing power, even when fine meshing is required. The result is that implicit methods are as time-consuming as explicit methods, even when the simulation model has a fine geometrical feature that needs a smaller cell size.
Taking the above into consideration, an object of the present invention is to provide an electromagnetic wave analyzer which analyzes electromagnetic waves at a higher computation speed even when the object model has a fine geometrical feature.
To accomplish the above object, according to the present invention, there is provided an electromagnetic wave analyzer for analyzing electromagnetic wave propagation by solving Maxwell""s equations in both time and spatial domains. This analyzer comprises an analysis command input unit which produces a command to initiate a simulation after establishing initial conditions and parameters necessary therefor. Here, the initial conditions and parameters include a temporal discretization interval xcex94t. The analyzer also comprises an analyzing unit which is responsive to the command from the analysis command input unit. This analyzing unit analyzes the behavior of an electromagnetic wave with an alternating direction implicit finite-difference time-domain method which refers to a state of the electromagnetic wave at a first time point to calculate a new state of the electromagnetic wave at a second time point being xcex94t after the first time point.
The above and other objects, features and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate preferred embodiments of the present invention by way of example.